package controller

import (
	"fishDemo/common"
	"fmt"
	"github.com/gin-gonic/gin"
	"log"
	"net/http"
)

func TestRabbitMqGet(c *gin.Context) {
	//获取一次连接
	rconn := common.GetRMQConn()
	//发送一个消息
	common.SendMessageTestRMQ(rconn)
	c.JSON(http.StatusOK, gin.H{"msg": "消息发送成功"})

}
func TestRabbitMqGetMess(c *gin.Context) {
	//获取一次连接
	rconn := common.GetRMQConn()
	ch, err := rconn.Channel()
	if err != nil {
		fmt.Println("接受时 err:", err)
	}

	q, err := ch.QueueDeclare(
		"hello", // name
		true,    // durable
		false,   // delete when unused
		false,   // exclusive
		false,   // no-wait
		nil,     // arguments
	)
	if err != nil {
		fmt.Println("接受 创建队列", err)
	}
	msgs, err := ch.Consume(
		q.Name, // queue
		"",     // consumer
		false,  // auto-ack
		false,  // exclusive
		false,  // no-local
		false,  // no-wait
		nil,    // args
	)
	if err != nil {
		fmt.Println("接收时： err:", err)
	}

	var forever chan struct{}

	go func() {
		for d := range msgs {
			log.Printf("接受到的消息是: %s", d.Body)
		}
	}()

	log.Printf(" [*] 等待消息中. 退出请按 CTRL+C")
	<-forever

}
